package cl.inmobiliaria.beans;

import javax.faces.event.ActionEvent;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import org.primefaces.context.RequestContext;

import cl.inmobiliaria.entidades.Proyecto;
import cl.inmobiliaria.entidades.Usuario;
import cl.inmobiliaria.negocio.Login;

@ManagedBean(name="loginBean")
@SessionScoped
public class LoginBean
{
    private String username;  

    private String password;  

    public String getUsername() {  
        return username;  
    }  

    public void setUsername(String username) {  
        this.username = username;  
    }  

    public String getPassword() {  
        return password;  
    }  

    public void setPassword(String password) {  
        this.password = password;  
    }  

	public void login(ActionEvent actionEvent) {  
        RequestContext context = RequestContext.getCurrentInstance();  
        FacesMessage msg = null;  
        boolean loggedIn = false;  

        
        Usuario usuario = new Usuario();
        Login login = new Login();
        Proyecto proyecto = new Proyecto();
        
        usuario.setNombreUsuario(username);
        usuario.setPassword(password);
        
        proyecto = login.validarUsuario(usuario);

        if(proyecto.getIdProyecto()!= 0 ){
            loggedIn = true;
            FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put("idProyecto", proyecto.getIdProyecto());
            msg = new FacesMessage(FacesMessage.SEVERITY_INFO, "Welcome", username);
        }else{
        	loggedIn = false;  
        	msg = new FacesMessage(FacesMessage.SEVERITY_WARN, "Login Error", "Usuario incorrecto");
        }

        FacesContext.getCurrentInstance().addMessage(null, msg);  
        context.addCallbackParam("loggedIn", loggedIn);  
    }  
    
}
